package com.lswms.service;

import javax.servlet.http.HttpServletRequest;

import com.lswms.common.service.CrudService;
import com.lswms.dto.YnDcLoginDTO;
import com.lswms.dto.vo.req.DcLoginReq;
import com.lswms.dto.vo.req.DcQueryCreditReq;
import com.lswms.dto.vo.req.DcQueryReportReq;
import com.lswms.dto.vo.req.DcQueryStatusReq;
import com.lswms.dto.vo.resp.DcQueryCreditResp;
import com.lswms.dto.vo.resp.DcQueryReportResp;
import com.lswms.dto.vo.resp.GetAiResultResp;
import com.lswms.dto.vo.resp.LoginResp;
import com.lswms.entity.YnDcLoginEntity;
import com.lswms.entity.YnUserEntity;

/**
 * 用户登录信息
 *
 * @author Mark sunlightcs@gmail.com
 * @since 1.0.0 2020-07-24
 */
public interface YnDcLoginService extends CrudService<YnDcLoginEntity, YnDcLoginDTO> {

	/**
	 * 登录
	 * @param req
	 */
	public LoginResp login(DcLoginReq req,HttpServletRequest request);
	
	/**
	 * 信用信息
	 * @param dto
	 * @return
	 */
	public DcQueryCreditResp queryCreditInfo(YnUserEntity ynuser);
	
	/**
	 * 信用信息支付状态
	 * @param dto
	 * @return
	 */
	public String queryPayStatus(DcQueryStatusReq dto);
	
	/**
	 * 获取报告
	 * @param dto
	 * @return
	 */
	public DcQueryReportResp queryReport(DcQueryReportReq dto,YnUserEntity ynuser);
	
	/**
	 * 智能推荐获取结果
	 * @param dto
	 * @return
	 */
	public GetAiResultResp getAiResult(YnUserEntity ynuser);

}